export const colors = {
  backgrounds: {
    transparent: 'bg-transparent',
    white: 'bg-white',
    purple: 'bg-purple',
    purpleForeground: 'bg-purple-foreground',
    background: 'bg-background',
    backgroundCode: 'bg-backgroundCode',
    backgroundSecondary: 'bg-secondary',
    muted: 'bg-muted',
    mutedForeground: 'bg-muted-foreground',
    accent: 'bg-accent',
    accentForeground: 'bg-accent-foreground',
    warningMuted: 'bg-warning-muted',
    warningMutedForeground: 'bg-warning-muted-foreground',
    destructive: 'bg-destructive',
    destructiveMuted: 'bg-destructive-muted',
    destructiveMutedForeground: 'bg-destructive-muted-foreground',
    successMutedForeground: 'bg-success-muted-foreground',
    successMuted: 'bg-success-muted',
    latte: 'bg-latte',
  },
  backgroundHoverColors: {
    accentForeground: 'hover:bg-accent-foreground',
    latte: 'hover:bg-latte',
    destructive: 'hover:bg-destructive',
  },
  borderHoverColors: {
    accentForeground: 'hover:border-accent-foreground',
    latte: 'hover:border-latte',
    destructive: 'hover:border-destructive',
  },
  textColors: {
    white: 'text-white',
    foreground: 'text-foreground',
    background: 'text-background',
    foregroundMuted: 'text-muted-foreground',
    primary: 'text-primary',
    primaryForeground: 'text-primary-foreground',
    secondary: 'text-secondary',
    secondaryForeground: 'text-secondary-foreground',
    accent: 'text-accent',
    accentForeground: 'text-accent-foreground',
    purple: 'text-purple',
    purpleForeground: 'text-white',
    destructive: 'text-destructive',
    destructiveForeground: 'text-destructive-foreground',
    destructiveMutedForeground: 'text-destructive-muted-foreground',
    successMutedForeground: 'text-success-muted-foreground',
    success: 'text-success',
    successForeground: 'text-success-foreground',
    successMuted: 'text-success-muted',
    warningForeground: 'text-warning-foreground',
    warningMutedForeground: 'text-warning-muted-foreground',
    latteInputForeground: 'text-latte-input-foreground',
    latteOutputForeground: 'text-latte-output-foreground',
    latteOutputForegroundMuted: 'text-latte-output-foreground/50',
    latteBackground: 'text-latte',
    latteBadgeBorder: 'text-latte-badge-border',
  },
  darkTextColors: {
    white: 'dark:text-white',
    primary: 'dark:text-primary',
    foreground: 'dark:text-foreground',
    background: 'dark:text-background',
    foregroundMuted: 'dark:text-muted-foreground',
    accent: 'dark:text-accent',
    destructive: 'dark:text-destructive',
    destructiveForeground: 'dark:text-destructive-foreground',
    destructiveMutedForeground: 'dark:text-destructive-muted-foreground',
    success: 'dark:text-success',
    successForeground: 'dark:text-success-foreground',
    successMuted: 'dark:text-success-muted',
    successMutedForeground: 'dark:text-success-muted-foreground',
    accentForeground: 'dark:text-accent-foreground',
    secondaryForeground: 'dark:text-secondary-foreground',
    warningForeground: 'dark:text-warning-foreground',
    warningMutedForeground: 'dark:text-warning-muted-foreground',
    latteInputForeground: 'dark:text-latte-input-foreground',
    latteOutputForeground: 'dark:text-latte-output-foreground',
    latteOutputForegroundMuted: 'dark:text-latte-output-foreground/50',
  },
  borderColors: {
    transparent: 'border-transparent',
    white: 'border-white',
    border: 'border-border',
    primary: 'border-primary',
    secondary: 'border-secondary',
    accent: 'border-accent',
    destructive: 'border-destructive',
    success: 'border-success',
    warning: 'border-warning',
    muted: 'border-muted',
    purple: 'border-purple',
    foregroundMuted: 'border-muted-foreground',
    accentForeground: 'border-accent-foreground',
    successMutedForeground: 'border-success-muted-foreground',
    warningMutedForeground: 'border-warning-muted-foreground',
    destructiveMutedForeground: 'border-destructive-muted-foreground',
    purpleForeground: 'border-purple-foreground',
    latte: 'border-latte-border',
  },
  proseColors: {
    foreground: 'prose-foreground',
    foregroundMuted: 'prose-foreground-muted',
    primary: 'prose-primary',
    latte: 'prose-latte',
  },
}
export type TextColor = keyof typeof colors.textColors
export type DarkTextColor = keyof typeof colors.darkTextColors
export type BorderColor = keyof typeof colors.borderColors
export type BackgroundColor = keyof typeof colors.backgrounds
export type BackgroundHoverColor = keyof typeof colors.backgroundHoverColors
export type BorderHoverColor = keyof typeof colors.borderHoverColors
export type ProseColor = keyof typeof colors.proseColors
